package com.dd.cloud.user.service.chknowl;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dd.cloud.user.entity.chknowl.ChknowlCurr;
import com.dd.cloud.user.req.chknowl.ChknowlCurrCreateReq;
import com.dd.cloud.user.req.chknowl.ChknowlCurrUpdateReq;
import com.dd.cloud.user.req.chknowl.CurrListPageReq;
import com.dd.cloud.user.res.chknowl.ChUserSearchListRes;
import com.dd.cloud.user.res.chknowl.ChknowlCurrPageRes;
import com.dd.cloud.user.res.chknowl.ChknowlCurrRes;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 * 通方表 服务类
 * </p>
 *
 * @author czg
 * @since 2022-07-04
 */
public interface IChknowlCurrService extends IService<ChknowlCurr> {
    /**
     * 导入经验方数据
     *
     * @param file
     */
    void importPresCurrFromExcel(MultipartFile file);

    /**
     * 到处经验方
     * @param response
     */
    void exportPresCurrtoExcel(HttpServletResponse response);

    /**
     * 分页获取经验方
     *
     * @param req
     * @return
     */
    Page<ChknowlCurrPageRes> getExperByPage(CurrListPageReq req);

    /**
     * 添加经验方
     *
     * @param req
     */
    void createExper(ChknowlCurrCreateReq req);

    /**
     * 修改经验方
     *
     * @param req
     */
    void updateExper(ChknowlCurrUpdateReq req);

    /**
     * 批量修改经验方状态
     *
     * @param ids
     * @param status
     */
    void updateBatchStatus(String ids, Integer status);

    /**
     * 关键字搜索通方
     * @param keyword
     * @return
     */
    List<ChUserSearchListRes> queryPresCurrByKeyword(String keyword);

    /**
     * 通过id获取通方
     * @param id
     * @return
     */
    ChknowlCurr getPresCurrById(Integer id);

    /**
     * 查询常用方
     * @return
     */
    List<ChknowlCurrRes> queryOftenCurrList();

    /**
     * 导入方剂
     * @param file
     */
    void importCurrBatch(MultipartFile file);
}
